package com.youlai.boot.modules.game.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 游戏用户信息VO
 */
@Schema(description = "游戏用户信息")
@Data
public class GameUserInfo {

    @Schema(description = "用户ID")
    private Long id;

    @Schema(description = "用户名称")
    private String username;

    @Schema(description = "用户头像")
    private String avatar;

    @Schema(description = "用户等级")
    private Integer level;

    @Schema(description = "游戏数量")
    private Integer totalGames;

    @Schema(description = "总游戏时长(秒)")
    private Long totalPlayTime;

    @Schema(description = "最近活跃时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastActive;

    @Schema(description = "活跃度(high,medium,low)")
    private String activityLevel;

    @Schema(description = "成就数量")
    private Integer achievementCount;

    @Schema(description = "游戏偏好列表")
    private List<String> gamePreferences;

    @Schema(description = "积分")
    private Integer points;

    @Schema(description = "排名趋势")
    private Integer trend;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
} 